// 配置axios的基地址
axios.defaults.baseURL = 'https://hmajax.itheima.net'


    // 拦截器
    // 请求拦截
    axios.interceptors.request.use((config) => {
        // 对config进行包装（添加请求头的token）
        const token = localStorage.getItem('token')
        // 有tokne才携带，没有就放行
        if (token) {
            config.headers.Authorization = token
        }
        return config
    }, (err) => {
        // 返回失败的promise对象
        return Promise.reject(err)
    })
    // 响应拦截
    axios.interceptors.response.use(({ data }) => {
        // res是axios返回的结果，多包装了一层，没有用剥离掉
        // res.data才是接口返回的结果
        // 容易出现忽略的问题，这里已经解构了一层，之前所有接口的数据都将少一层
        return data
    }, (err) => {
        if (err.response.status === 401) {
            localStorage.removeItem('token')
            showToast('登陆失效，请重新登录')
            setTimeout(() => {
                location.href = './login.html'
            }, 1000)
        }
        return Promise.reject(err)
    })
// 测试基地址
// axios({
//     url : 'api/city'
// }).then(res => {
//     console.log(res);
// })
// interceptors()
// function interceptors() {

// }


// 封装一个公共的吐丝提示框
function showToast(message) {
    // 获取元素
    const toast = document.querySelector('.toast')
    // 实例化弹层
    const registerToast = new bootstrap.Toast(toast)
    // 修改内容
    toast.querySelector('.toast-body').innerText = message
    // 展示弹层
    registerToast.show()
}


// 封装一个检验当前用户是否登录的函数
function checkLogin() {
    const token = localStorage.getItem('token')
    // 做登录拦截
    if (!token) {
        // 提示用户一秒后在登陆
        showToast('当前未登录')
        setTimeout(() => {
            location.href = './login.html'
        }, 1000)
    }

}